<?php
/**
 * Gestisce il controllo dell'applicazione
 * processa le chiamate provenienti da e verso la vista e il modello
 */
include_once APP_PATH . "Views" . DIRECTORY_SEPARATOR . "View.php";
include_once 'adodb.inc.php';
// /**
//  * Includi l'adattarore del database
//  */
// include_once "Zend/Db.php";
// include_once 'Zend/Amf/Server.php';
// /**
//  * Ottiene la connessione al databse Mysql
//  */
// function GetDBConnection() {
// 	$db = false;
// 	try {
// 		// Opzione necessari alla connessione del datbase
// 		$options = array ('host' => Config::$dbHost, 'username' => Config::$dbUsername, 'password' => Config::$dbPassword, 'dbname' => Config::$dbName );
// 		// crea la connessione con il database
// 		$db = Zend_Db::factory ( 'Mysqli', $options );
// 	} catch ( Exception $e ) {
// 		// errore di connessione con il datbase
// 		echo "<b style='color:red;'>" . $e->getMessage () . "</b>";
// 	}
// 	return $db;
// }
/**
 * Elimina dalle variabili sia i tag HTML che gli slashes
 * @param unknown_type $var
 */
function processVars($var) {
	$cleanVar = stripcslashes ( strip_tags ( $var ) );
	return $cleanVar;
}
/**
 * Ottiene la lingua che l'utente vuole visualizzare nel browser
 */
function getDefaultLanguage() {
	$defaultLang = "en";
	try {
		// verifica se dalla richiesta proviene la stringa di richiesta del codice lingua
		if (! isset ( $_REQUEST ["lang_code"] )) {
			if (isset ( $_SERVER ["HTTP_ACCEPT_LANGUAGE"] ))
				$tmpLang = parseDefaultLanguage ( $_SERVER ["HTTP_ACCEPT_LANGUAGE"] );
			else
				$tmpLang = parseDefaultLanguage ( null );
			
			$defaultLangTemp = explode ( "-", $tmpLang );
			$defaultLang = $defaultLangTemp [0];
		} else {
			if ($_REQUEST ["lang_code"] != "" && $_REQUEST ["lang_code"] != null) {
				// è presente la richiesta dal client
				$defaultLangTemp = explode ( "-", processVars ( $_REQUEST ["lang_code"] ) );
				$defaultLang = $defaultLangTemp [0];
			} else {
				$defaultLang = "en";
			}
		}
	} catch ( Exception $ex ) {
		$defaultLang = "en";
	}
	
	return $defaultLang;
}
/**
 * Ricerca la lingua in uso nel browser
 * @param String $http_accept
 * @param String $deflang
 */
function parseDefaultLanguage($http_accept, $deflang = "en") {
	if (isset ( $http_accept ) && strlen ( $http_accept ) > 1) {
		# Split possible languages into array
		$x = explode ( ",", $http_accept );
		foreach ( $x as $val ) {
			#check for q-value and create associative array. No q-value means 1 by rule
			if (preg_match ( "/(.*);q=([0-1]{0,1}\.\d{0,4})/i", $val, $matches ))
				$lang [$matches [1]] = ( float ) $matches [2];
			else
				$lang [$val] = 1.0;
		}
		
		#return default language (highest q-value)
		$qval = 0.0;
		foreach ( $lang as $key => $value ) {
			if ($value > $qval) {
				$qval = ( float ) $value;
				$deflang = $key;
			}
		}
	}
	return strtolower ( $deflang );
}